As shown in FIG. 1, exchanges comprise an Operations and Maintenance Unit (OMU), which handles operations related to the use and maintenance of the exchange. Exchanges may be connected via an OM unit to an operations and maintenance network (O&M network) through which the operator may administer several physically remote exchanges in a centralized way from one place. The OM unit of the exchange collects alarms and generates alarm reports and it also co-operates with the main memory (not shown) of the exchange into which files on subscribers, charging, signalling, routing and exchange configuration are stored, whereby the operator can read and change the contents of these files.
In practice, the hardware of the OM unit comprises a central processing unit CPU and one or more hard disk units as a separate mass memory and one or more diskette units.
The programs of the OM unit and the data terminal of the operator connected directly to the OM unit or via the O&M network form a user interface between the exchange and the operator known as MMI (Man Machine Interface). This user interface comprises the components shown in FIG. 1, which include, e.g., the data terminal (DT) which communicates with the OM unit OMU of an exchange EX, several MML controllers 12, which are program blocks located in the memory/on the disk of the OM unit, and a processor block 13, which is a program block located in the memory/on the disk of the OM unit (or possibly of another computer unit of the exchange) and connected to the actual call control. A single MML controller 12 attends to the execution of specified commands, whereby information is encoded into the MML controller concerning these commands as to how to instruct the user, what kind of values the parameters given by the user should have, in what way an execution command is transmitted to the processor block, and in what way the values given by the user should be expressed in the execution command.
The operator issues commands via the data terminal DT to the exchange by using a command language MML (Man-Machine Language) known as I/O syntax, which is specified in recommendations Z.317-Z.341 of ITU-T (formerly, CCITT). In the MML language, there is a command for each function. The software is hierarchial; at the beginning of a session it is on a main level, whereby a list of command classes appears on the display screen. The command classes form a command class level, whereby by selecting one command class from the main level, a menu is displayed for the user of the command groups of that class (which form the next level). Each command group comprises 4 to 8 commands, whereby by selecting the desired command group, the desired command can be realized. The division is functional so that a command class is responsible for one function block, such as the commands for subscriber management or routing (cf., S or R in FIG. 2). A command group is responsible for a smaller selection of commands related to one other, such as commands relating to the abbreviated number selection of a subscriber. The software is based on menus and the operator is instructed step by step by the menu towards the right command. The MMI user control interface enables several simultaneous command sessions into the same system. The sessions are totally independent of one other, but the simultaneous manipulation of the same information from different sessions is barred.
FIG. 2 shows the menu on the main level. It discloses the name of the command class in plain text form next to the letter, whereby one can enter the command group menu of the command class by selecting the letter and there similarly one enters the commands of the group by selecting the letter of the desired command group. After this, the command may be written out. The command form could be for example "ZRCI:GSW:NCGR=OUTGRP;". The command comprises the command letters, here ZRCI and the parameter blocks following them separated by a colon. One parameter block may comprise more than one parameter, these parameters being separated by a comma. When the user supplies only the command letters, which ends by pressing the return key, the MML controller gives in text form information as to what kinds of parameters can possibly be used. After giving each parameter, it is also possible to obtain instructions relating to the next parameter. The MML program gives instructions to the operator on all levels, wherefore the operator very seldom needs to consult a manual. Giving commands does not require any special skills, but the only requirement is naturally that the operator understands the language in which the on-line instructions in text form are on the display screen.
The known user interface of FIG. 1 operates as follows. When the user gives an MML command as described above, the MLL controller 12 responsive to the given character sequence is initiated and starts communicating with the user via the terminal DT. The help menus displayed by the terminal DT and the information required for checking the values of the parameters have been encoded into the MML controller (into a program code). When the MML controller is "satisfied" with the parameters it has received from the user, it generates a message on the basis of the parameters it has received and sends it to the processor block 13. The processor block updates the data contained in the message it received from the MML controller into its own parameter data to be used in connection with call control. After having updated the data, the processor sends an acknowledgement to the MML controller that will further notify the user.
A disadvantage of the known user interface described above is its poor flexibility in situations of change. This disadvantage is especially apparent in an intelligent network environment in which new services are constantly being created for the subscribers. The addition of a new service requires corresponding additions to the user interface so that the service could be controlled. At present, MML controllers are part of a larger software of the exchange, which means that changes in the user interface require changes in the software.
When some changes are to be made to the user interface (that is, to a MML command intended for the control of the exchange), for example, only some parameters are to be added or the allowed value range of the parameters or the help texts for the user are to be changed, the MML command has to be re-encoded and recompiled along with the rest of the software package. If it is necessary, for example, to enable a new command letter, the whole software package has to be updated.